# 作者：SP
# 开发时间：2023/12/27 21:23
class Car:
    """一次模拟汽车的简单尝试"""
    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        #给属性指定默认值
        self.odometer_reading = 0
    def get_descriptive_name(self):
        """返回整洁的描述性信息"""
        long_name = f"{self.year} {self.make} {self.model}"
        return long_name
    def get_reading(self):
        """打印一条指出汽车里程的信息"""
        print(f'This car has {self.odometer_reading} mails on it')

    # 方法(2)通过方法修改属性的值
    def update_odometer(self,mileage):
        """
        将里程表读书设置为指定的值
        禁止将里程表读数往回调
        """
        if mileage > self.odometer_reading:
            self.odometer_reading = mileage
        else:
            print("you can't roll back an odometer")
    def insrement_odometer(self,mails):
        """将里程表读数增加指定的量"""
        self.odometer_reading += mails
if __name__ == '__main__':
    my_new_car = Car('audi','a4',2019)
    print(my_new_car.get_descriptive_name())
    print(my_new_car.get_reading())

    #修改属性的值
    #方法（1）直接修改属性的值
    my_new_car.odometer_reading=23
    my_new_car.get_reading()
    #方法（2）通过方法修改属性的值
    my_new_car.update_odometer(66)
    my_new_car.get_reading()
    my_new_car.update_odometer(65)
    my_new_car.get_reading()
    #方法（3）通过方法对属性的值进行递增
    print()
    my_new_car.insrement_odometer(10)
    my_new_car.get_reading()